home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 25 / CU Amiga Magazine's Super CD-ROM 25 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-08].iso / CUCD / Programming / GMS / GMSDev / Includes / input / keyboard.i < prev   
Encoding:
Text File  |  1998-02-14  |  2.5 KB  |  117 lines

  1.     IFND INPUT_KEYBOARD_I
  2. INPUT_KEYBOARD_I  SET  1
  3.  
  4. **
  5. **  $VER: keyboard.i V1.0
  6. **
  7. **  (C) Copyright 1996-1998 DreamWorld Productions.
  8. **      All Rights Reserved.
  9. **
  10.  
  11.     IFND    DPKERNEL_I
  12.     include 'dpkernel/dpkernel.i'
  13.     ENDC
  14.  
  15. ******************************************************************************
  16. * Keyboard object.
  17.  
  18. VER_KEYBOARD  = 1
  19. TAGS_KEYBOARD = ((ID_SPCTAGS<<16)|ID_KEYBOARD)
  20.  
  21.     STRUCTURE    KEY,HEAD_SIZEOF
  22.     LONG    KEY_Size
  23.     APTR    KEY_Buffer
  24.     WORD    KEY_AmtRead
  25.     WORD    KEY_Flags
  26.  
  27. KEYA_Size  =    (TLONG|KEY_Size)
  28. KEYA_Flags =    (TWORD|KEY_Flags)
  29.  
  30. ******************************************************************************
  31. * Key Flags
  32.  
  33. KF_AUTOSHIFT = $0001  ;Auto-Shift handling.
  34. KF_GLOBAL    = $0002  ;Receive all keyboard input.
  35.  
  36. ******************************************************************************
  37. * KeyEntry structure.
  38.  
  39.     STRUCTURE    KE,0
  40.     WORD    KE_Qualifier
  41.     BYTE    KE_Value
  42.     BYTE    KE_Reserved
  43.     LABEL    KE_SIZEOF
  44.  
  45. ******************************************************************************
  46. * KeyEntry Qualifiers.
  47.  
  48. KQ_LSHIFT   = $0001      ;Left Shift.
  49. KQ_RSHIFT   = $0002      ;Right Shift.
  50. KQ_CAPSLOCK = $0004      ;Caps-Lock.
  51. KQ_CONTROL  = $0008      ;Control Key.
  52. KQ_LALT     = $0010      ;Left Alt.
  53. KQ_RALT     = $0020      ;Right Alt.
  54. KQ_LCOMMAND = $0040      ;Left Amiga  [Command]
  55. KQ_RCOMMAND = $0080      ;Right Amiga [Command]
  56. KQ_KEYPAD   = $0100      ;This is a keypad key.
  57. KQ_REPEAT   = $0200      ;This is a repeated key.
  58. KQ_RELEASED = $0400      ;Key is now being released.
  59. KQ_HELD     = $0800      ;Key is being held/pressed.
  60. KQ_SHIFT    = (KQ_LSHIFT|KQ_RSHIFT)
  61.  
  62. ******************************************************************************
  63. * Special Keypresses.  All other keys can be considered to be in ASCII format. 
  64.  
  65. K_SCS   =    $80            ;ScreenSwitch (LEFTAMIGA + M)
  66. K_SLEFT =    $81
  67. K_HELP  =    $82
  68.  
  69. K_LSHIFT =    $83
  70. K_RSHIFT =    $84
  71. K_CAPS   =    $85
  72. K_CTRL   =    $86
  73. K_LALT   =    $87
  74. K_RALT   =    $88
  75. K_LAMIGA =    $89
  76. K_RAMIGA =    $8a
  77.  
  78. K_F1    =    $8b
  79. K_F2    =    $8c
  80. K_F3    =    $8d
  81. K_F4    =    $8e
  82. K_F5    =    $8f
  83. K_F6    =    $90
  84. K_F7    =    $91
  85. K_F8    =    $92
  86. K_F9    =    $93
  87. K_F10    =    $94
  88. K_F11    =    $95
  89. K_F12    =    $96
  90. K_F13    =    $97
  91. K_F14    =    $98
  92. K_F15    =    $99
  93. K_F16    =    $9a
  94. K_F17    =    $9b
  95. K_F18    =    $9c
  96. K_F19    =    $9d
  97. K_F20    =    $9e
  98.  
  99. C_UP    =    $9f
  100. C_DOWN    =    $a0
  101. C_RIGHT    =    $a1
  102. C_LEFT    =    $a2
  103.  
  104. K_SRIGHT =    $a3            ;Special key on right.
  105.  
  106. ******************************************************************************
  107. * Special keys that are recognised under ASCII (here for convenience).
  108.  
  109. K_BAKSPC =    08
  110. K_TAB    =    09
  111. K_ENTER  =    10
  112. K_RETURN =    10
  113. K_ESC    =    $1b
  114. K_DEL    =    $7f
  115.  
  116.     ENDC    ;INPUT_KEYBOARD_I
  117.